home *** CD-ROM | disk | FTP | other *** search
/ TOS Silver 2000 / TOS Silver 2000.iso / programm / MM2_DEV / S / GEM / EASYGEM1.I < prev    next >
Encoding:
Text File  |  1991-03-27  |  4.2 KB  |  3 lines

  1. ⓪ IMPLEMENTATION MODULE EasyGEM1;⓪ (*$R-*)⓪ (*$Y- wichtig, damit jeder Prozeß seine eigenen Vars hat! *)⓪ ⓪ (*  System              : Megamax Modula-2 (MOS 2.0)⓪!*  Autor & Copyright   : Thomas Tempelmann⓪!*  Vertrieb            : Application Systems Heidelberg⓪!*  Version             : 1.0⓪!*⓪!* 03.11.90 TT  SelectFile: wenn ABBRUCH gewählt, bleibt 's' leer⓪!* 07.12.90 TT  $Y-⓪!* 08.12.90 TT  Änderung vom 3.11. wieder weg.⓪!* 17.12.90 TT  SelectFile: GemInit immer, aber GemHandle wird gerettet⓪!* 19.02.91 TT  SelectFile: GemHandle wird nun korrekt gerettet/restauriert⓪!* 27.03.91 TT  SelectFile: Bei "Abbruch" liefert 'ok' wieder FALSE⓪!*)⓪ ⓪ FROM MOSGlobals IMPORT SfxStr, FileStr;⓪ ⓪ FROM AESMisc IMPORT ShellEnvironment, ReadScrapDir, WriteScrapDir;⓪ ⓪ IMPORT MOSGlobals, Directory, Strings, FastStrings, FileNames, GEMEnv,⓪'PathEnv;⓪ ⓪ ⓪ CONST ClipEnv  = 'CLIPBRD';⓪&ClipName = '\CLIPBRD';⓪ ⓪ ⓪ PROCEDURE SelectFile (titel: ARRAY OF CHAR;⓪6VAR s: ARRAY OF CHAR; VAR ok: BOOLEAN);⓪"VAR oldGemHdl: GEMEnv.GemHandle;⓪&ok2: BOOLEAN;⓪&ior: INTEGER;⓪&path: ARRAY [0..127] OF CHAR;⓪&name, dummy: ARRAY [0..11] OF CHAR;⓪"BEGIN⓪$oldGemHdl:= GEMEnv.CurrGemHandle ();⓪$GEMEnv.InitApplication (ok);⓪$IF ok THEN⓪&FileNames.SplitPath (s, path, name);⓪&IF path[0] # 0C THEN⓪(FastStrings.Assign (path, SelectMask)⓪&END;⓪&Directory.MakeFullPath (SelectMask, ior);⓪&IF ior < 0 THEN⓪(Directory.GetDefaultPath (SelectMask);⓪&END;⓪&IF Strings.Length (FileNames.FileName (SelectMask)) = 0 THEN⓪(Strings.Append ('*.*', SelectMask, ok);⓪&END;⓪&PathEnv.SelectFile (titel, SelectMask, name, ok);⓪&IF ok THEN⓪(FileNames.SplitPath (SelectMask, s, dummy);⓪(FastStrings.Append (name, s);⓪&END;⓪&GEMEnv.ExitApplication;⓪&GEMEnv.SetCurrGemHandle (oldGemHdl, ok2)⓪$END;⓪"END SelectFile;⓪ ⓪ ⓪ VAR ok: BOOLEAN;⓪ ⓪ PROCEDURE getPath (VAR name: ARRAY OF CHAR; createNew: BOOLEAN): BOOLEAN;⓪ ⓪"VAR res: INTEGER;⓪&drvs: MOSGlobals.DriveSet;⓪&drv: [MOSGlobals.drvA..MOSGlobals.drvP];⓪ ⓪"PROCEDURE makeDir (): BOOLEAN;⓪$BEGIN⓪&IF NOT Directory.PathExists (FileNames.PathValidated (name)) THEN⓪(IF createNew THEN⓪*Directory.CreateDir (name, res);⓪*RETURN res >= 0⓪(ELSE⓪*RETURN FALSE⓪(END⓪&END;⓪&RETURN TRUE⓪$END makeDir;⓪ ⓪"PROCEDURE makeDirOnDrv (drv: MOSGlobals.Drive): BOOLEAN;⓪$BEGIN⓪&Strings.Concat (FileNames.DriveToStr (drv), ClipName, name, ok);⓪&RETURN makeDir ()⓪$END makeDirOnDrv;⓪ ⓪"BEGIN⓪$ReadScrapDir (name);⓪$IF name [0] = 0C THEN⓪&ShellEnvironment (ClipEnv, name);⓪$END;⓪$IF (name [0] # 0C) AND makeDir () THEN⓪&RETURN TRUE⓪$END;⓪$drvs:= Directory.DrivesOnline ();⓪$FOR drv:= MOSGlobals.drvC TO MOSGlobals.drvP DO⓪&IF drv IN drvs THEN⓪(IF makeDirOnDrv (drv) THEN⓪*RETURN TRUE⓪(END⓪&END⓪$END;⓪$RETURN makeDirOnDrv (MOSGlobals.drvA)⓪"END getPath;⓪ ⓪ PROCEDURE MakeScrapName (suffix: SfxStr; VAR name: ARRAY OF CHAR);⓪"BEGIN⓪$IF getPath (name, TRUE) THEN⓪&FileNames.ValidatePath (name);⓪&WriteScrapDir (name);⓪&Strings.Append ('SCRAP.', name, ok);⓪&Strings.Append (suffix, name, ok);⓪$ELSE⓪&name [0]:= 0C;⓪&WriteScrapDir ('');⓪$END;⓪"END MakeScrapName;⓪ ⓪ ⓪ (*$J-*)⓪ PROCEDURE delete (REF path: ARRAY OF CHAR; entry: Directory.DirEntry): BOOLEAN;⓪ (*$J=*)⓪"VAR res: INTEGER;⓪"BEGIN⓪$Directory.Delete (FileNames.PathConc (path, entry.name), res);⓪$RETURN res >= 0⓪"END delete;⓪ ⓪ PROCEDURE ClearScrap;⓪"VAR res: INTEGER;⓪"VAR name: FileStr;⓪"BEGIN⓪$IF getPath (name, FALSE) THEN⓪&FileNames.ValidatePath (name);⓪&WriteScrapDir (name);⓪&Strings.Append ('SCRAP.*', name, ok);⓪&Directory.DirQuery (name, Directory.QueryFiles, delete, res);⓪$END⓪"END ClearScrap;⓪ ⓪ END EasyGEM1.⓪ ə
  2. (* $00000749$FFE9F4E3$FFE9F4E3$FFE9F4E3$FFE9F4E3$FFE9F4E3$FFE9F4E3$FFE9F4E3$FFE9F4E3$FFE9F4E3$FFE9F4E3$FFE9F4E3$FFE9F4E3$FFE9F4E3$FFE9F4E3$FFEA1AAE$FFE9F4E3$FFE9F4E3$FFE9F4E3$FFE9F4E3$FFE9F4E3$FFE9F4E3$FFE9F4E3$FFE9F4E3$FFE9F4E3$FFE9F4E3$FFE9F4E3$FFE9F4E3$FFE9F4E3$FFE9F4E3$FFE9F4E3$FFE9F4E3$FFE9F4E3$FFE9F4E3$FFE9F4E3$FFE9F4E3$FFE9F4E3$FFE9F4E3$FFE9F4E3$FFE9F4E3$FFE9F4E3$FFE9F4E3Ç$00000291T.......T.......T.......T.......T.......T.......T.......T.......T.......T.......$FFF2415C$00000291$FFF2415C$00000426$00000706$0000024F$00000291$0000026F$00000291$000004E4$FFF2415C$00000404$000004B5$0000024F$00000259$FFF2415CñÇé*)
  3.